﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WLMCoreLibrary;
using MiWebSite_Core;
using System.Text;

namespace MWS_Store
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            WebSiteMainConfiguration config = WebSiteMainConfiguration.GetConfig();
            List<ParametroTransformacionXML> parametros = new List<ParametroTransformacionXML>();
            parametros.Add(new ParametroTransformacionXML("skinPath", config.Settings["skinPath"].value));

            if (Request.QueryString["xml"] != null)
            {
                dbConnector ConexionDB = new dbConnector(config.Connections[0].value);
                MiWebSitePage pagina = new MiWebSitePage(ref ConexionDB);
                if (Request.QueryString["producto"] != null)
                    pagina.Contenido = WLMFunctions.SerializeObject(new StoreProducto(ProductoOCategoria(),ref ConexionDB));
                else
                    if (Request["categoria"] != null)
                    {
                        Categoria categoria = new Categoria(WLMFunctions.CleanQuery(Request["categoria"].ToString()).Replace("/",""),ref ConexionDB);
                        StoreProductoCollection lista= new StoreProductoCollection(categoria,ref ConexionDB);

                        pagina.Contenido = WLMFunctions.SerializeObject(lista);
                        pagina.Title =categoria.nombre + " - " + pagina.Title;
                    }
                
                Response.ContentType = "text/xml";
                Response.Write(WLMFunctions.SerializeObject(pagina,true));


                ConexionDB.CloseConnection();
            }
            else
            {
                string HTMLPagina = WLMFunctions.TransformXML(config.Settings["siteURL"].value +"/tienda/?" + ProductoOCategoria().Replace("/","") + "&xml=true", config.Settings["siteURL"].value + config.Settings["skinPath"].value + "index.xsl", parametros);
                Response.Write(HTMLPagina);

            }
        }

        public string ProductoOCategoria()
        {
            string salida = "";
            if (Request.QueryString["categoria"]!=null)
            {
                string categoriaSeleccionada = "";
                string[] splited = Request.QueryString["categoria"].ToString().Split('/');

                    if (splited.Length > 1&&splited[splited.Length - 1] == "")
                        categoriaSeleccionada = splited[splited.Length - 2];
                    else
                        categoriaSeleccionada = splited[splited.Length - 1];

                salida ="categoria="+ WLMFunctions.CleanQuery(categoriaSeleccionada);
            }
            if(Request.QueryString["producto"]!=null)
            {
                salida = "producto="+WLMFunctions.CleanQuery(Request.QueryString["producto"]);
            }
            return salida.Replace("/", "");
        }
    }
}